The invention relates to a system for recursively tracking changes to pages or documents in a repository. The system can indicate on a text page whether links to other pages have been modified or whether the underlying linked pages have been modified. The system can also display how the linked structure of a document has been modified to more than one level of indirection. Each display format provides for dynamic extension of the document comparison to other documents in the repository linked to the base document.
Browsing and searching are popular ways to access and find information on the World Wide Web (WWW). The WWW is an example of a repository upon which the present invention acts, other repositories are discussed later. While GUI-based (Graphic User Interface) browsers and powerful search engines are now ubiquitous, tools and mechanisms that provide access to historical information and tracking of updates only have been developed recently and are not in widespread use. Search engines and browsers help users locate and inspect information of interest, while tracking tools help users to keep up-to-date on this pertinent information. WWW services and applications can benefit from a mechanism that tracks changes, maintains page version histories, and automatically computes differences. The usefulness of the tracking mechanism will be further increased by tools of the present invention for dealing with the vast number of documents on the Web, such as graphical views of pages with querying and filtering based on user-specified criteria and recursive tracking and viewing of changes to related Web documents.
We have combined and expanded upon two existing tools, Ciao and the AT&T Internet Difference Engine (AIDE), in order to provide two sorts of visual cues. The Web Graphical User Interface to a Difference Engine, or WebGUIDE is an implementation of the invention. Ciao displays high-level structural differences by displaying graphs showing the relationships between pages. The color of the nodes representing the pages indicates which pages have stayed the same, been modified or been deleted. The links between the pages are also represented to indicate any modifications. AIDE displays low-level textual differences by marking up changes between versions and modifying anchors to cause documents reached from that page to be annotated.
Fred Douglis and Thomas Ball invented the original AIDE system and filed patent application Ser. No. 08/549,359 on Oct. 27, 1995, which is incorporated in its entirety herein by reference. Additionally, Mr. Douglis and Mr. Ball published an article on the AIDE system entitled "An Internet Difference Engine And Its Applications", which is incorporated in its entirety herein by reference. The AIDE system highlighted the difference between two documents but was unable to support recursive document comparison. Thus, the prior system did not indicate whether a linked page had been modified or whether additional versions of the linked pages were stored so that a difference comparison could be run.
Yih-Farn Robin Chen, Eleftherios Koutsofios, Glenn Fowler and Ryan Wallach published an article on the original Ciao system entitled "Ciao: A Graphical Navigator for Software and Document Repositories", which is incorporated in its entirety herein by reference. This prior Ciao system did not support dynamic recursive document comparison. Dynamic recursion extends the database as new documents are encountered.
The AIDE and Ciao systems referred to in the following description are the versions which have been significantly modified and merged to form the present invention.